package com.xbongbong.pro.businesstage.pojo.dto;

import com.xbongbong.paas.domain.entity.PaasStageEntity;
import com.xbongbong.paas.domain.entity.StageProcessEntity;
import com.xbongbong.pro.businesstage.pojo.RequiredFieldPojo;
import com.xbongbong.pro.weblist.pojo.dto.SaasBaseDTO;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.List;

/**
 * @Auther: yingjianfeng
 * @Date: 2021/12/7 10:55
 * @Description: 新建baseDTO用来传递数据   请勿在此乱加参数，只供透传使用
 */
@Getter
@Setter
@ToString
public class StageJumpBaseDTO extends SaasBaseDTO {
    /*透传参数*/
    /**
     * 要跳转到的阶段类型
     */
    private Integer toStageType;
    /**
     * 当前阶段类型
     */
    private Integer fromStageType;
    /**
     * 要跳转到的阶段实体
     */
    private PaasStageEntity toStageEntity;
    /**
     * 当前阶段实体
     */
    private PaasStageEntity fromStageEntity;
    /**
     * 阶段流程实体
     */
    private StageProcessEntity stageProcessEntity;
    /**
     * 两个阶段之间的阶段实例列表
     */
    private List<PaasStageEntity> rangeStageEntitys;
    /**
     * 阶段字段attr
     */
    private String stageAttr;
    /**
     * 阶段字段名字
     */
    private String stageAttrName;
    /**
     * 是否是在泳道图跳转
     */
    private Integer isStageView;

    /**
     * 0 不是从审批进来的  1 从审批进来的
     */
    private Integer fromApproval;

    /**
     * 是否新建
     */
    private Boolean isNew;

    /*接口入参*/
    /**
     * 备注
     */
    private String memo = "";
    /**
     * 流失原因
     */
    private Integer reasonId = 0;

    /**
     * 是否归档
     **/
    private Boolean isArchive;

    /**
     * 是否更新关联客户状态
     **/
    private Boolean isUpdateStatus;

    /**
     * 机会转跳到输单特殊参数
     **/
    private List<RequiredFieldPojo> requiredField;

    /**
     * 是否导入数据
     */
    private Integer isImport;

    private Long menuId;

    public StageJumpBaseDTO() {
    }

    public StageJumpBaseDTO(Integer saasMark, Integer businessType, Long formId, Long dataId) {
        super(saasMark, businessType, formId, dataId);
    }

}
